// 工具方法库
import { TRAILING_SLASH_RE } from './contant'

export const removeTrailingSlash = (path: string) => path.replace(TRAILING_SLASH_RE, '')

// 规范化用户所传递的 base
// 假设用户传递的 base 为 app/
// 经过这个方法处理后 ---> /app
export function normalizeBase(base?: string): string {
    // 如果没有 base，统一初始化为一个 /
    if(!base){
        base = '/'
    }
    // 检查第一个字符如果不是 / 或者 #
    // 那么就在最前面拼接一个 /
    // 例如传入的 base 是 app，那么这一步处理后就变为 /app
    if(base[0] !== '/' && base[0] !== '#') base = '/' + base
    // 去除字符串末尾的 /
    return removeTrailingSlash(base)
}
